Skip to content

Conversation

@hongsujin2eeZyo
Copy link

@hongsujin2eeZyo hongsujin2eeZyo commented Nov 25, 2025

✅ 워크북 체크리스트

  • 모든 핵심 키워드 정리를 마쳤나요?
  • 핵심 키워드에 대해 완벽히 이해하셨나요?
  • 이론 학습 이후 직접 실습을 해보는 시간을 가졌나요?
  • 미션을 수행하셨나요?
  • 미션을 기록하셨나요?

✅ 컨벤션 체크리스트

  • 디렉토리 구조 컨벤션을 잘 지켰나요?
  • pr 제목을 컨벤션에 맞게 작성하였나요?
  • pr에 해당되는 이슈를 연결하였나요?(중요)
  • 적절한 라벨을 설정하였나요?
  • 파트장에게 code review를 요청하기 위해 reviewer를 등록하였나요?
  • 닉네임/main 브랜치의 최신 상태를 반영하고 있는지 확인했나요?(매우 중요!)

📌 주안점

@hongsujin2eeZyo
Copy link
Author

미션 2,3을 기존했던 미션1 폴더에서 바로 이어서 진행하였습니다아........ㅠ

return { amount, total };
};

const initialTotals = calculateInitialTotals(cartItems);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

초기 상태에서 amount와 total을 계산해 넣어주는 로직 좋습니다!
다만 지금처럼 initialState를 만든 뒤 다시 값을 덮어쓰기보다
선언 시점에서 명시적으로 초기값을 넣어주는 방식이 더 가독성이 높고 유지보수에도 안전해 추천드립니다!

const initialTotals = calculateInitialTotals(cartItems);

const initialState: CartState = {
  cartItems,
  amount: initialTotals.amount,
  total: initialTotals.total,
};


const handleIncrement = () => {
setCount(count + 1);
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

handleIncrement가 현재 코드에서는 따로 사용되고 있지 않아 제거해도 괜찮아 보입니다!
혹은 사용 의도가 있으시다면 아래 UI 부분의 onClick에 연결해 활용하는 방식도 좋습니다.

cartItems: get().cartItems.filter((item) => item.id !== id),
});
get().calculateTotals();
},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

최신 상태를 get()으로 가져온 뒤 set()으로 결과만 반영하는 구조가 깔끔하네요!
특히 각 액션에서 map → filter → set 흐름을 공통적으로 유지해주셔서
읽는 사람 입장에서도 로직이 직관적으로 보여서 가독성이 매우 좋은 것 같습니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants